home *** CD-ROM | disk | FTP | other *** search
/ MacFormat España 15 / macformat_15.iso / C de cerca / Codewarrior Lite / MacOS Support / Headers / ANSI Headers / setjmp.h < prev    next >
Text File  |  1996-01-02  |  975b  |  56 lines

  1. /*
  2.  *    File:        setjmp.h
  3.  *                ©1993-1995 metrowerks Inc. All rights reserved
  4.  *    Author:        Andreas Hommel
  5.  *
  6.  *    Content:    Interface to setjmp/longjmp ANSI functions ...
  7.  */
  8.  
  9. #ifndef __SETJMP__
  10. #define __SETJMP__
  11.  
  12. #pragma options align=mac68k
  13.  
  14. #if __CFM68K__ && __USING_IMPORTED_ANSI__
  15. #pragma import on
  16. #endif
  17.  
  18. #if __POWERPC__
  19. typedef    long *jmp_buf[70];
  20. #define    setjmp(jmp_buf)            __setjmp(jmp_buf)
  21. #else
  22. typedef long *jmp_buf[13];        /*    D3-D7,PC,A2-A6,SP,__local_destructor_chain */
  23. #endif
  24.  
  25. #ifdef __cplusplus
  26. extern "C" {
  27. #endif
  28.  
  29. #if __POWERPC__
  30. #pragma internal on
  31. int    __setjmp(jmp_buf);
  32. #pragma internal reset
  33. void longjmp(jmp_buf,int);
  34. #elif __CFM68K__
  35. #pragma internal on
  36. int setjmp(jmp_buf);
  37. #pragma internal reset
  38. void longjmp(jmp_buf,int);
  39. #else
  40. int setjmp(jmp_buf);
  41. void longjmp(jmp_buf,int);
  42. #endif
  43. void __longjmp_ldestr(jmp_buf,int);
  44.  
  45. #ifdef __cplusplus
  46. }
  47. #endif
  48.  
  49. #if __CFM68K__ && __USING_IMPORTED_ANSI__
  50. #pragma import reset
  51. #endif
  52.  
  53. #pragma options align=reset
  54.  
  55. #endif
  56.